/**
 * 
 */
package br.com.ufrn.aipetro.ga.controller.device;

import java.sql.Date;

import br.com.ufrn.aipetro.ga.controller.interfaces.AbstractController;

import br.com.ufrn.aipetro.ga.domain.entity.device.Critical;
import br.com.ufrn.aipetro.ga.domain.entity.device.Device;
import br.com.ufrn.aipetro.ga.domain.entity.device.OperationStatus;
import br.com.ufrn.aipetro.ga.domain.entity.device.Protocol;
import br.com.ufrn.aipetro.ga.domain.entity.mesh.Mesh;
import br.com.ufrn.aipetro.ga.domain.entity.stock.Part;
import br.com.ufrn.aipetro.ga.persist.interfaces.DaoFactory;

/**
 * @author Andre
 *
 */
public class DeviceController<T extends Device> extends AbstractController<T> {
	
	DaoFactory daoFactory;
	
	public DeviceController() {
	}
	
	public void addPartToDevice(Part part) {
		getModel().addPart(part);
	}

	public void changeDeviceId(String deviceId) {
		getModel().setDeviceId(deviceId);
	}
	
	public void changeManufacturer(String manufacturer) {
		getModel().setManufacturer(manufacturer);
	}
	
	public void changeMesh(Mesh mesh) {
		getModel().setMesh(mesh);
	}
	
	public void changeModel(String model) {
		getModel().setModel(model);
	}
	
	public void changeOperationStatus(OperationStatus operationStatus) {
		getModel().setOperationStatus(operationStatus);
	}
	
	public void changeCritical(Critical critical) {
		getModel().setCritical(critical);
	}
	
	public void changeProtocol(Protocol protocol) {
		getModel().setProtocol(protocol);
	}
	
	public void changeSerialNumber(String serialNumber) {
		getModel().setSerialNumber(serialNumber);
	}
	
	public void changeTag(String tag) {
		getModel().setTag(tag);
	}
	
	public void removePartFromDevice(Part part) {
		getModel().removePart(part);
	}
	
	public void changeDateStart(Date dateOperationStart) {
		getModel().setDateOperationStart(dateOperationStart);
	}
	
	public void changeDateFinish(Date dateOperationFinish) {
		getModel().setDateOperationFinish(dateOperationFinish);
	}

}
